package com.ruoyi.report_lq.domain.bo;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.common.utils.BigDecimalUtil;
import com.ruoyi.report_tg.domain.bo.ExcelGeneralBo;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import java.math.BigDecimal;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 沥青密度试验检测记录业务对象 report_lq_mdsyjc_bs_info
 *
 * @author zyb
 * @date 2024-10-30
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class ReportLqMdsyjcBsInfoBo extends ExcelGeneralBo {

    /**
     * 一份excel表格的唯一id(其他的excel主表，都应有此字段）
     */
    @NotNull(message = "一份excel表格的唯一id(其他的excel主表，都应有此字段）不能为空", groups = { EditGroup.class })
    private Long excelId;

    /**
     * 共几页
     */
//    @NotNull(message = "共几页不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long totalPage;

    /**
     * 第几页
     */
//    @NotNull(message = "第几页不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long page;

    /**
     * 记录编号
     */
//    @NotBlank(message = "记录编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jilbh;

    /**
     * 检测单位名称
     */
//    @NotBlank(message = "检测单位名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiancdwmc;

    /**
     * 工程名称
     */
//    @NotBlank(message = "工程名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String gongcmc;

    /**
     * 工程部位/用途
     */
//    @NotBlank(message = "工程部位/用途不能为空", groups = { AddGroup.class, EditGroup.class })
    private String gongcbwyt;

    /**
     * 样品名称
     */
//    @NotBlank(message = "样品名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpmc;

    /**
     * 样品编号
     */
//    @NotBlank(message = "样品编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpbh;

    /**
     * 样品数量
     */
//    @NotBlank(message = "样品数量不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpsl;

    /**
     * 样品状态
     */
//    @NotBlank(message = "样品状态不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpzt;

    /**
     * 样品时间
     */
//    @NotBlank(message = "样品时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpsj;

    /**
     * 试验检测日期
     */
//    @NotBlank(message = "试验检测日期不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shiyjcrq;

    /**
     * 试验条件温度
     */
//    @NotBlank(message = "试验条件温度不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shiytjwd;

    /**
     * 试验条件湿度
     */
//    @NotBlank(message = "试验条件湿度不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shiytjsd;

    /**
     * 检测依据
     */
//    @NotBlank(message = "检测依据不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiancyj;

    /**
     * 判定依据
     */
//    @NotBlank(message = "判定依据不能为空", groups = { AddGroup.class, EditGroup.class })
    private String pandyj;

    /**
     * 检测依据ids
     */
//    @NotBlank(message = "检测依据ids不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiancyjIds;

    /**
     * 判定依据ids
     */
//    @NotBlank(message = "判定依据ids不能为空", groups = { AddGroup.class, EditGroup.class })
    private String pandyjIds;

    /**
     * 主要仪器设备名称及编号
     */
//    @NotBlank(message = "主要仪器设备名称及编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String zhuyyqsbmcjbh;

    /**
     * 设备id逗号分隔
     */
//    @NotBlank(message = "设备id逗号分隔不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shebIds;

    /**
     * 附加声明
     */
//    @NotBlank(message = "附加声明不能为空", groups = { AddGroup.class, EditGroup.class })
    private String fujsm;

    /**
     * 取样地点
     */
//    @NotBlank(message = "取样地点不能为空", groups = { AddGroup.class, EditGroup.class })
    private String quydd;

    /**
     * 生产厂家、产地
     */
//    @NotBlank(message = "生产厂家、产地不能为空", groups = { AddGroup.class, EditGroup.class })
    private String cd;

    /**
     * 代表数量
     */
//    @NotBlank(message = "代表数量不能为空", groups = { AddGroup.class, EditGroup.class })
    private String daibsl;

    /**
     * 批号
     */
//    @NotBlank(message = "批号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String pih;

    /**
     * 出厂日期
     */
//    @NotBlank(message = "出厂日期不能为空", groups = { AddGroup.class, EditGroup.class })
    private String chucrq;

    /**
     * 试验次数1
     */
//    @NotNull(message = "试验次数1不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long a1;

    /**
     * 比重瓶质量1
     */
//    @NotNull(message = "比重瓶质量1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal b1;

    /**
     * 比重瓶盛满水时质量1
     */
//    @NotNull(message = "比重瓶盛满水时质量1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal c1;

    /**
     * 比重瓶与沥青试样质量1
     */
//    @NotNull(message = "比重瓶与沥青试样质量1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal d1;

    /**
     * 比重瓶、试样及水质量1
     */
//    @NotNull(message = "比重瓶、试样及水质量1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal e1;

    /**
     * 试验次数2
     */
//    @NotNull(message = "试验次数2不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long a2;

    /**
     * 比重瓶质量2
     */
//    @NotNull(message = "比重瓶质量2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal b2;

    /**
     * 比重瓶盛满水时质量2
     */
//    @NotNull(message = "比重瓶盛满水时质量2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal c2;

    /**
     * 比重瓶与沥青试样质量2
     */
//    @NotNull(message = "比重瓶与沥青试样质量2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal d2;

    /**
     * 比重瓶、试样及水质量2
     */
//    @NotNull(message = "比重瓶、试样及水质量2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal e2;

    /**
     * 试验温度
     */
//    @NotNull(message = "试验温度不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal a3;

    /**
     * 水密度
     */
//    @NotNull(message = "水密度不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal b3;

    /**
     * 相对密度1
     */
//    @NotNull(message = "相对密度1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal c31;

    /**
     * 相对密度2
     */
//    @NotNull(message = "相对密度2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal c32;

    /**
     * 相对密度平均
     */
//    @NotNull(message = "相对密度平均不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal d3;

    /**
     * 密度1
     */
//    @NotNull(message = "密度1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal e31;

    /**
     * 密度2
     */
//    @NotNull(message = "密度2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal e32;

    /**
     * 密度平均
     */
//    @NotNull(message = "密度平均不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal f3;

    public void setB1(BigDecimal b1) {
        this.b1 = BigDecimalUtil.stpTrailZero(b1);
    }

    public void setC1(BigDecimal c1) {
        this.c1 = BigDecimalUtil.stpTrailZero(c1);
    }

    public void setD1(BigDecimal d1) {
        this.d1 = BigDecimalUtil.stpTrailZero(d1);
    }

    public void setE1(BigDecimal e1) {
        this.e1 = BigDecimalUtil.stpTrailZero(e1);
    }

    public void setB2(BigDecimal b2) {
        this.b2 = BigDecimalUtil.stpTrailZero(b2);
    }

    public void setC2(BigDecimal c2) {
        this.c2 = BigDecimalUtil.stpTrailZero(c2);
    }

    public void setD2(BigDecimal d2) {
        this.d2 = BigDecimalUtil.stpTrailZero(d2);
    }

    public void setE2(BigDecimal e2) {
        this.e2 = BigDecimalUtil.stpTrailZero(e2);
    }

    public void setA3(BigDecimal a3) {
        this.a3 = BigDecimalUtil.stpTrailZero(a3);
    }

    public void setB3(BigDecimal b3) {
        this.b3 = BigDecimalUtil.stpTrailZero(b3);
    }

    public void setC31(BigDecimal c31) {
        this.c31 = BigDecimalUtil.stpTrailZero(c31);
    }

    public void setC32(BigDecimal c32) {
        this.c32 = BigDecimalUtil.stpTrailZero(c32);
    }

    public void setD3(BigDecimal d3) {
        this.d3 = BigDecimalUtil.stpTrailZero(d3);
    }

    public void setE31(BigDecimal e31) {
        this.e31 = BigDecimalUtil.stpTrailZero(e31);
    }

    public void setE32(BigDecimal e32) {
        this.e32 = BigDecimalUtil.stpTrailZero(e32);
    }

    public void setF3(BigDecimal f3) {
        this.f3 = BigDecimalUtil.stpTrailZero(f3);
    }
}
